------------------------------------------------------------------------
AmigaScope  HELP  file     (C) 1990, Stephen L. Childress, (818)706-5247
                                     PLINK: ops274
------------------------------------------------------------------------

WHAT IS AMIGASCOPE?

  A program which makes your Amiga function like an eight channel digital
  data analyzer or oscilloscope. The eight channels of data are 5V logic
  signals connected to the Amiga's parallel port. When using AmigaScope,
  the Amiga's parallel port is used as an INPUT port.
  AmigaScope is digital; it will not accept analog signals.

  An interlaced display is used. AmigaScope should run on any Amiga,
  however to date I've only tested it on an A1000 with 1.5MB of RAM.

  AmigaScope also writes and reads data files containing your acquired
  data. To print a 'scope display, you may write your data to a disk
  file, connect the parallel port to a printer, recall the disk data,
  and click on PRINT.

  I retain all commercial and educational rights to AmigaScope.
  I grant a usary license only to not-for-profit users.
  AmigaScope is written in C for Lattice 5.x.
  AmigaScope was developed with Amiga OS 1.3.
  It might run on 2.0.


FOR A QUICK DEMO...

  Run AmigaScope. A 640 x 480 screen/window will appear.
  Click on the "60HZ CALIB" button.
  Click on the "SINGLE SWEEP" button.
  Click/Drag the two sliders which control the scope display.
  Click somewhere on the waveforms to change the display start point.
  Change the sample interval and duration as desired.
  Leave TRIGGER MASK at 0 until you read the DATA TRIGGER instructions.


GENERAL RULES OF USE...

  When you key in numeric data, YOU MUST PRESS THE RETURN KEY.

  Slide the MAGNIFICATION slider to the left of center to fit more
  data onto the screen. Slide to the right of center to see sample detail.

  At low magnification (slider to the left) the display may be wrong
  because of data compression/subsampling for display purposes.

  If you click to change the display start point or magnification,
  the program redisplays immediately without reacquiring data.

  The arrows left of the display start slider give you very fine control.

  Click within the waveform display to change the start point.

  The display start point slider ranges 0-500 as displayed to the right.
  The magnification slider ranges 0-100.


WHAT LOGIC SPEEDS CAN AMIGASCOPE HANDLE?

  The limiting factor is the speed of the Amiga's CPU. An A1000 can
  sample approx. every 5 microseconds. The other machines may be
  extrapolated from this. I've not tested this program on other
  machines. Please let me know if you do!

  Fast sampling rates and long durations take lots of memory. AmigaScope
  allocates and releases memory for every acquisition cycle, based upon
  your sample interval and duration settings.

  Beware that the program's estimate of the absolute sampling interval time
  is a very rough estimate. Using the 60HZ CALIB. button, you can change
  the sample rates, etc., and look at the effect given a known square wave.
  The square wave is obtained from the 8520 chip's timer.

  At sample rates of less than 10 miliseconds, the rate is contolled by a
  software delay loop. While this is running, Amiga interrupts are disabled
  to ensure a more accurate sample interval. Because of this, AmigaScope
  should not be used when this would interfere with multitasked programs.

  At sample rates of 10 miliseconds and slower, sampling is controlled by
  the timer device in the Amiga. In this case, interrupts are not
  disabled.

  AmigaScope computes the proper CPU delay loop count by performing
  a calibration when you do the first acquisition. The 8520 chip timer
  is assumed to be 1/60 sec and the proper loop count is estimated. This
  applies to the less than 10 milisecond sampling case only.

  Unknown limitations are the speed of the 8520 chip and the
  Amiga-internal capacitive load on the parallel port input pins.


HOW TO USE AMIGASCOPE WITH REAL DIGITAL DATA...

  Into your parallel port, plug in a cable which you've made which
  connects up to 8 logic signals. BEWARE! If you connect an input pin
  on your port to +5 or Ground, you *WILL* break the 8520 chip inside
  the Amiga. It's true! I did it!

  The connections are:
    Ground is on pin 14,15, ... or 22
    The inputs are pins 2,3, ... and 9

  I urge you to connect 220 ohm resistors in series with your input
  lines on pins 14...22 to limit the current in case of a boo-boo.
  Be VERY careful about static discharges.


DATA TRIGGERS...

  If you need to delay the start of data acquisition/sampling until a
  particular pattern occurs or a particular bit changes state, use
  the data trigger capability. Set the TRIGGER MASK gadget to 00 to
  disable DATA TRIGGERS.

  The TRIGGER MASK is a two digit hexadecimal number. It is and'ed with
  the sampled data as explained below.

  The TRIGGER itself is a two digit hexadecimal number. It is and'ed with
  the TRIGGER MASK.

  When you start data acquisition (SINGLE SWEEP or BEGIN SAMPLING), and
  if TRIGGER MASK is non-zero, the following happens:

    AmigaScope does the following:

      1. Read new input data from the parallel port.
      2. AND the new data with TRIGGER mask.
      3. Compare the result of (2) with the value in TRIGGER.
      4. Go to step #1 if the comparison is unequal.
      5. Start acquisition of all data if the comparison is equal.

  Examples:

    A. Trigger when the input data is 10001010.
       Set TRIGGER MASK to FF.
       Set TRIGGER      to 8A.

    A. Trigger when the input data is 1xxx1010.
       Set TRIGGER MASK to 9F.
       Set TRIGGER      to 8A.

    C. Trigger when bit 0 becomes 0.
       Set TRIGGER MASK to 01.
       Set TRIGGER      to 00

    D. Trigger when bit 0 becomes 1.
       Set TRIGGER MASK to 01.
       Set TRIGGER      to 01


  TO ABORT A HUNG-UP TRIGGER, merely click on STOP. This will happen if
  you choose a trigger condition which is not happening.

  Warning: Interrupts are enabled while waiting for the data to match
  the trigger condition. Therefore, at fast sampling rates, the time
  between the first and second sample may be quite long.


PRINTING...

  The PRINT SCREEN button does just that. The current program requires
  an EPSON compatible printer connected to the parallel port. The
  program uses the PAR: device. Thus, the PREFERENCES settings don't
  matter.

  BEWARE! If you click on PRINT SCREEN with your digital inputs
  connected, your signals and the 8520 in output mode will "buck"
  the data lines. This might damage something, though I've not found.
  that to be true. Doing so *will* drive your circuit's signals
  to the wrong state because of the wire-or.

  Every time you acquire data, the 8520 chip is reprogrammed for input
  mode. So if you accidentally PRINT SCREEN, just reacquire data.


FILES...

  Click on FILES. An Amiga-style file requestor appears. Choose SAVE
  to write the current acquired data to a disk file. A file name
  suffix of ".dat" is assumed.

  Choose LOAD to recall and display saved ".dat" files. You can LOAD
  and display any file. Doing so for program files is interesting.

  To eliminate the ".dat" suffix, change the File Requestor's extension
  data input box contents as desired.

  AmigaScope files are simply a byte stream. Use TYPE opt H from
  the CLI to view the data.


GOOD LUCK!

END.